package aerolineasYVuelosDaos

import aerolineasYVuelos.SessionManager
import aerolineasYVuelos.Aerolinea
import aerolineasYVuelos.SessionManager
import aerolineasYVuelos.Asiento
import org.hibernate.criterion.Restrictions
import scala.collection.mutable.Buffer
import scala.collection.JavaConverters._

object AerolineaDAO extends ManagerDAO[Aerolinea] {

  def getDomainClass = classOf[Aerolinea]
  
  def vuelosDisponibles(origen: String, destino: String) {
	  val criteria = SessionManager.getSession.createCriteria(getDomainClass, "Aerolinea")
	  criteria
	  .add(Restrictions.like("Aerolinea.vuelosOfertados.tramos.origen", origen))
	  .add(Restrictions.like("Aerolinea.vuelosOfertados.tramos.destino", destino))
	  .add(Restrictions.eq("Aerolinea.vuelosOfertados.tramos.asientos.reservado", false))
	  .list.asInstanceOf[Buffer[Aerolinea]]
  }
  
}